body {
	margin: 0;
	padding: 0;
	font: 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
}
.loader-inner {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 21px;
	transform: translate(-50%, -50%);
	padding: 20px;
	border-radius: 10px;
	background-color: #eee;
	opacity: .9;
	transition: opacity 1s linear;
}
.ball-pulse > div {
	background-color: #777;
}
#loading-error {
	position: absolute;
	top: 50%;
	left: 50%;
	height: 21px;
	transform: translate(-50%, -50%);
	padding: 20px;
	border-radius: 10px;
	color: #333;
	background-color: #eee;
	opacity: .9;
	display: none;
}
#map {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
}
#clock {
	position: absolute;
	z-index: 1;
	top: 10px;
	left: 10px;
	padding: 10px;
	border-radius: 3px;
	background-color: rgba(0, 0, 0, 0.7);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	display: none;
}
#date {
	color: #fff;
}
#time {
	font-size: 150%;
	color: #fff;
}
.mapbox-ctrl-search {
	display: inline-flex;
	align-items: center;
	transition: width 300ms ease;
}
.mapbox-ctrl-search::before {
	content: '\f002';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 5px;
	right: 5px;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
	float: right;
}
.mapbox-ctrl-underground::before {
	content: '\f06e';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	top: 1px;
	left: 1px;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapbox-ctrl-underground-visible::before {
	color: #33B5E5;
}
.mapbox-ctrl-track::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	left: 1px;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapbox-ctrl-track-helicopter::before {
	content: '\f533';
	font-size: 17px;
	top: 1px;
}
.mapbox-ctrl-track-train::before {
	content: '\f238';
}
.mapbox-ctrl-track-active::before {
	color: #33B5E5;
}
.mapbox-ctrl-realtime::before {
	content: '\f017';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapbox-ctrl-realtime-active::before {
	color: #33B5E5;
}
.mapbox-ctrl-about::before {
	content: '\f05a';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapbox-ctrl-weather::before {
	content: '\f740';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: relative;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapbox-ctrl-weather-active::before {
	color: #33B5E5;
}
.mapbox-ctrl-export::before {
	content: '\f56d';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 5px;
	left: 6px;
	width: 20px;
	height: 20px;
	color: black;
	font-size: 21px;
}
.mapboxgl-popup-content {
	color: #fff;
	background-color: rgba(0, 0, 0, 0.7);
}
.mapboxgl-popup-content a:link,
.mapboxgl-popup-content a:visited {
	color: #f90;
	text-decoration: none;
}
.mapboxgl-popup-content a:hover,
.mapboxgl-popup-content a:active {
	color: #f90;
	text-decoration: underline;
}
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {
	border-bottom-color: rgba(0, 0, 0, 0.7);
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {
	border-top-color: rgba(0, 0, 0, 0.7);
}
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
	border-right-color: rgba(0, 0, 0, 0.7);
}
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
	border-left-color: rgba(0, 0, 0, 0.7);
}
#search-box {
	top: 25px;
	right: 144px;
	width: 200px;
	height: 22px;
	transform: translate(50%, -50%);
	font-size: 16px;
	border: none;
	outline: none;
	background-color: rgba(255, 255, 255, 0);
	opacity: 0;
	display: none;
	position: absolute;
	z-index: 3;
}
.acd-check {
	display: none;
}
.acd-label {
	background: rgba(51, 51, 51, 0.7);
	color: #fff;
	display: block;
	padding: 4px;
	cursor: pointer;
}
.acd-label::before {
	content: '\f0fe';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: 4px;
}
.acd-check:checked + .acd-label::before {
	content: '\f146';
}
.acd-content {
	border: 1px solid rgba(51, 51, 51, 0.7);
	margin-bottom: 1px;
	height: 0;
	opacity: 0;
	padding: 0 4px;
	visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content {
	height: auto;
	opacity: 1;
	visibility: visible;
}
.desc-box {
	display: inline-block;
	width: 10px;
	height: 36px;
	margin-right: 6px;
	float: left;
}
.desc-caution {
	color: #f90;
}
